import { defineStore } from 'pinia';

const useIframeStore = defineStore('iframe', {
  state: () => ({
    iframes: [],
    name: null,
    show: true,
  }),
  getters: {
    getState() {
      return { ...this.$state };
    },
  },
  actions: {
    addIframe (component) {
      if (! this.iframes.includes(component)) {
        this.iframes.push(component);
      }
    },
    removeIframe (component) {
      const idx = this.iframes.indexOf(component);
      if (idx !== -1) {
        this.iframes.splice(idx, 1);
      }
    },
    display () { this.show = true },
    hidden  () { this.show = false },
    setName (name) { this.name = name },
    clearIframe() { this.iframes = [] },
  },
});

export default useIframeStore;